<!-- 货物属性 -->
<template>
    <Modal :value="value" width="746" @input="handleInput" :closable="false">
        <div slot="header">
            货物属性
            <Icon class="f-fr" type="ios-close" @click="closeModal"/>
        </div>
        <CheckboxGroup v-model="selectedData">
            <Checkbox
                v-for="(item, index) in goodsAttrList"
                :disabled="editORshow"
                :key="index"
                :label="item.dataCode"
            >{{ item.dataCode +'-'+ item.dataName }}
            </Checkbox>
        </CheckboxGroup>
        <div slot="footer">
            <Button type="default" @click="closeModal">取消</Button>
            <Button type="primary" @click="saveGoodsAttribute" ref="saveGoodsAttributeRef">确定</Button>
        </div>
    </Modal>
</template>

<script>
export default {
    name: 'GoodsAttributeModal',
    props: {
        value: {
            default: false,
            type: Boolean
        },
        goodsAttribute: {
            default: function () {
                return {
                    goodsAttr: '',
                    editORshow: false
                }
            },
            type: Object
        }
    },
    data () {
        return {
            editORshow: null,
            selectedData: [],
            goodsAttrList: [
                {
                    'dataCode': '11',
                    'dataName': '3C目录内',
                    'shortName': '3C目录内'
                },
                {
                    'dataCode': '12',
                    'dataName': '3C目录外',
                    'shortName': '3C目录外'
                },
                {
                    'dataCode': '13',
                    'dataName': '无需办理3C认证',
                    'shortName': '无需办理3C认证'
                },
                {
                    'dataCode': '14',
                    'dataName': '预包装',
                    'shortName': '预包装'
                },
                {
                    'dataCode': '15',
                    'dataName': '非预包装',
                    'shortName': '非预包装'
                },
                {
                    'dataCode': '16',
                    'dataName': '转基因产品',
                    'shortName': '转基因产品'
                },
                {
                    'dataCode': '17',
                    'dataName': '非转基因产品',
                    'shortName': '非转基因产品'
                },
                {
                    'dataCode': '18',
                    'dataName': '首次进出口',
                    'shortName': '首次进出口'
                },
                {
                    'dataCode': '19',
                    'dataName': '正常',
                    'shortName': '正常'
                },
                {
                    'dataCode': '20',
                    'dataName': '废品',
                    'shortName': '废品'
                },
                {
                    'dataCode': '21',
                    'dataName': '旧品',
                    'shortName': '旧品'
                },
                {
                    'dataCode': '22',
                    'dataName': '成套设备',
                    'shortName': '成套设备'
                },
                {
                    'dataCode': '23',
                    'dataName': '带皮木材/板材',
                    'shortName': '带皮木材/板材'
                },
                {
                    'dataCode': '24',
                    'dataName': '不带皮木材/板材',
                    'shortName': '不带皮木材/板材'
                },
                {
                    'dataCode': '25',
                    'dataName': 'A级特殊物品',
                    'shortName': 'A级特殊物品'
                },
                {
                    'dataCode': '26',
                    'dataName': 'B级特殊物品',
                    'shortName': 'B级特殊物品'
                },
                {
                    'dataCode': '27',
                    'dataName': 'C级特殊物品',
                    'shortName': 'C级特殊物品'
                },
                {
                    'dataCode': '28',
                    'dataName': 'D级特殊物品',
                    'shortName': 'D级特殊物品'
                },
                {
                    'dataCode': '29',
                    'dataName': 'V/W非特殊物品',
                    'shortName': 'V/W非特殊物品'
                },
                {
                    'dataCode': '30',
                    'dataName': '市场采购',
                    'shortName': '市场采购'
                }
            ]
        }
    },
    created () {
        this.init(this.goodsAttribute.goodsAttr, this.goodsAttribute.editORshow)
    },
    methods: {
        init (goodsAttr, editORshow) {
            this.editORshow = editORshow
            this.selectedData = []
            if (goodsAttr) {
                this.selectedData = goodsAttr.split(',')
            }

            this.$nextTick(() => {
                this.$refs.saveGoodsAttributeRef.$el.focus()
            })
        },

        closeModal () {
            this.handleInput(false)
        },
        handleInput (v) {
            this.$emit('input', v)
        },

        saveGoodsAttribute () {
            let data = this.selectedData
            let tempArr = []
            for (let i = 0; i < data.length; i++) {
                for (let j = 0; j < this.goodsAttrList.length; j++) {
                    if (data[i] === this.goodsAttrList[j].dataCode) {
                        tempArr.push(this.goodsAttrList[j].dataName)
                    }
                }
            }

            let res = {
                codes: data.join(),
                names: tempArr.join()
            }

            this.$emit('saveGoodsAttribute', res)
            this.closeModal()
        }
    }
}
</script>

<style scoped>

</style>
